package com.castle.fortress.admin.flowable.form.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.castle.fortress.admin.flowable.form.entity.FlowableFormConfigEntity;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
 * 表单配置管理Mapper 接口
 *
 * @author castle
 * @since 2022-09-27
 */
public interface FlowableFormConfigMapper extends BaseMapper<FlowableFormConfigEntity> {

    /**
    * 扩展信息列表
    * @param pageMap
    * @param flowableFormConfigEntity
    * @return
    */
    List<FlowableFormConfigEntity> extendsList(@Param("map")Map<String, Long> pageMap, @Param("flowableFormConfigEntity") FlowableFormConfigEntity flowableFormConfigEntity);

    /**
    * 扩展信息记录总数
    * @param flowableFormConfigEntity
    * @return
    */
    Long extendsCount(@Param("flowableFormConfigEntity") FlowableFormConfigEntity flowableFormConfigEntity);

    /**
    * 表单配置管理扩展详情
    * @param id 表单配置管理id
    * @return
    */
    FlowableFormConfigEntity getByIdExtends(@Param("id")Long id);


    FlowableFormConfigEntity getByFlowId(@Param("flowId") Long flowId);

    void delByFlowableIds(@Param("ids")List<Long> ids);

    void delByAppIds(@Param("ids")List<Long> ids);

    FlowableFormConfigEntity selByIdIgnoreDel(@Param("id")Serializable id);
}
